package com.engine4cloud.tdf.supervision.dto.create;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 调查评估-调查
 *
 * @author wenjie
 * @date 2024-02-29 11:05:19
 */
@Data
@Schema(description = "调查结果-请求对象")
public class DcpgSurveyCreateDTO implements Serializable {

    /**
     * 调查评估编号
     */
    @Schema(description = "调查评估编号", example = "2024151515151")
    @NotBlank(message = "调查评估编号不能为空")
    private String dcpgbh;

    /**
     * 被调查人姓名
     */
    @Schema(description = "被调查人姓名", example = "张三")
    @NotBlank(message = "被调查人姓名不能为空")
    private String bdcrxm;

    /**
     * 与被告人关系
     */
    @Schema(description = "与被告人关系", example = "02")
    @NotBlank(message = "与被告人关系不能为空")
    private String ybgrgx;

    /**
     * 调查事项
     */
    @Schema(description = "调查事项", example = "经济来源")
    @NotBlank(message = "调查事项不能为空")
    private String dcsx;

    /**
     * 调查时间
     */
    @Schema(description = "调查时间", example = "2024-02-02 00:00:00")
    @NotNull(message = "调查时间不能为空")
    private LocalDateTime dcsj;

    /**
     * 调查地点
     */
    @Schema(description = "调查地点", example = "小山村")
    @NotBlank(message = "调查地点不能为空")
    private String dcdd;

    /**
     * 调查人
     */
    @Schema(description = "调查人", example = "李四")
    @NotBlank(message = "调查人不能为空")
    private String dcr;

    /**
     * 被调查人所在地
     */
    @Schema(description = "被调查人所在地", example = "[\"460000\",\"46000A\",\"469006\",\"36327\"]")
    @NotEmpty(message = "被调查人所在地不能为空")
    private List<String> residenceAreaList;
}